package com.bbcare.followup.plat.store.ibatis;

import java.util.List;
import java.util.Map;

import com.bbcare.followup.plat.entity.BodyTemperature;
import com.bbcare.followup.plat.entity.BodyTemperatureanalysis;
import com.bbcare.followup.plat.entity.BodyTemperaturedetail;
import com.bbcare.followup.plat.entity.Oxygenpulserate;
import com.bbcare.followup.plat.entity.Oxygenpulserateanalysis;
import com.bbcare.followup.plat.entity.Oxygenpulseratedetail;
import com.bbcare.followup.plat.entity.PtDevelopstandardData;

/**
 *
 * @name:         家庭数据报告监控持久层dao
 * @author:       tao
 * @createTime:   2017年4月24日
 * @description:  IFamilyReportDAO.java
 * @modify:
 *
 */
public interface IFamilyReportDAO {

	//查询氧饱脉率基本详情
	Map<String,Object> selectOxygenpulserate(Map<String,Object> paramMap) throws Exception;

	//查询氧饱脉率某一时段记录详情列表
	List<Map<String,Object>> selectOxygenpulserateDetails(Map<String,Object> paramMap) throws Exception;
	List<Map<String,Object>> selectOxygenpulserateDetailsByDay(Map<String,Object> paramMap) throws Exception;

	//查询氧饱脉率监测记录数 以时段为单位
	int selectOxygenpulserateCount(Map<String,Object> paramMap) throws Exception;
	int selectOxygenpulserateCountByDay(Map<String,Object> paramMap) throws Exception;

	//查询氧饱脉率监测记录列表
	List<Map<String,Object>> selectOxygenpulserateList(Map<String,Object> paramMap) throws Exception;
	List<Map<String,Object>>  selectOxygenpulserateListByDay(Map<String,Object> paramMap) throws Exception;

	//查询体温基本详情
	Map<String,Object> selectBodytemperature(Map<String,Object> paramMap) throws Exception;

	//查询体温某一时段记录详情列表
	List<Map<String,Object>> selectBodytemperatureDetails(Map<String,Object> paramMap) throws Exception;

	//查询体温监测记录数 以时段为单位
	int selectBodytemperatureCount(Map<String,Object> paramMap) throws Exception;

	//查询体温监测记录列表  以时段为单位
	List<Map<String,Object>> selectBodytemperatureList(Map<String,Object> paramMap) throws Exception;

	//查询体温监测记录总次数和异常次数
	int countBodytemperatureByAuthority(Map<String,Object> paramMap) throws Exception;

	//查询氧饱脉率监测记录总次数和异常次数
	int countOxygenpulserateByAuthority(Map<String,Object> paramMap) throws Exception;

	//查询体温监测记录次数 按月按日统计
	List<Map<String,Object>> countBodytemperatureByAuthorityMonth(Map<String,Object> paramMap) throws Exception;
	List<Map<String,Object>> countBodytemperatureByAuthorityDay(Map<String,Object> paramMap) throws Exception;

	//查询氧饱脉率监测记录总次数 按月按日统计
	List<Map<String,Object>> countOxygenpulserateByAuthorityMonth(Map<String,Object> paramMap) throws Exception;
	List<Map<String,Object>> countOxygenpulserateByAuthorityDay(Map<String,Object> paramMap) throws Exception;

	//查询 体温检测患者列表    （页面展示患者最近的一次记录信息）
	List<Map<String,Object>> selectTemperaturePatientList(Map<String,Object> paramMap) throws Exception;

	//查询y 氧饱脉率检测患者列表    （页面展示患者最近的一次记录信息）
	List<Map<String,Object>> selectOxygenpulseratePatientList(Map<String,Object> paramMap) throws Exception;

	//查询 体温检测患者总数
	int countTemperaturePatientList(Map<String,Object> paramMap) throws Exception;

	//查询y 氧饱脉率检测患者总数
	int countOxygenpulseratePatientList(Map<String,Object> paramMap) throws Exception;

	//根据权限查询查询生长发育 评估患者总数
	int countGrowthPatientList(Map<String,Object> paramMap) throws Exception;

	//查询生长发育评估患者列表    （页面展示患者最近的一次记录信息）
	List<Map<String,Object>> selectGrowthPatientList(Map<String,Object> paramMap) throws Exception;

	//根据权限查询生长发育评估次数 /今日评估次数
	int countGrowthByAuthority(Map<String,Object> paramMap) throws Exception;

	//查询体温监测记录列表  以时段为单位
	List<Map<String,Object>> selectGrowthList(Map<String,Object> paramMap) throws Exception;

	//查询单次监测记录信息
	Map<String,Object> selectGrowthDetails(Map<String,Object> paramMap) throws Exception;

	//查询患者所有的监测记录  医生添加+患者app
	List<Map<String,Object>> selectGrowthDetailsByUserId(Map<String,Object> paramMap) throws Exception;

	//查询who 生长发育标准数据
	List<Map<String,Object>> selectDevelopStandardForWho(Map<String,Object> paramMap) throws Exception;

	//查询评估指导方案
	List<Map<String,Object>> selectHealthGuideDetail(Map<String,Object> paramMap) throws Exception;

	int save(Map<String, Object> list) throws Exception;
	int savePercent(List<PtDevelopstandardData> list) throws Exception;

	//查询生长发育标准数据
	List<Map<String,Object>> selectStandardList(Map<String,Object> paramMap) throws Exception;

	//查询身高别体重生长发育标准数据
	List<Map<String,Object>> selectStandardwfhList(Map<String,Object> paramMap) throws Exception;

	void saveOxygenpulserate(Oxygenpulserate oxygenPulserate)throws Exception;

    void saveOxygenpulserateanalysis(Oxygenpulserateanalysis oxygenPulserateAnalysis)throws Exception;

    void saveOxygenpulseratedetail(List<Oxygenpulseratedetail> oxygenPulserateDetails)throws Exception;

    //体温监测 app数据导入
    void saveBodyTemperature(BodyTemperature bodyTemperature)throws Exception;
    void saveBodyTemperatureanalysis(BodyTemperatureanalysis bodyTemperatureAnalysis)throws Exception;
    void saveBodyTemperaturedetail(List<BodyTemperaturedetail> bodyTemperatureDetails)throws Exception;

    //查询当天用户是否有生长发育记录
    Map<String,Object> selectGrowthRecord(Map<String,Object> param)throws Exception;

    //保存生长发育记录
    void saveGrowthRecord(Map<String,Object> param)throws Exception;
    //保存生长发育记录历史
    void saveGrowthRecordHis(Map<String,Object> param)throws Exception;
	//删除生长发育记录
	void deleteGrowthRecord(Map<String,Object> param)throws Exception;


    //更新生长发育记录
    void updateGrowthRecord(Map<String,Object> param)throws Exception;
    //刷历史数据使用
    List<Map<String,Object>> selectAllGrowthRecords(Map<String,Object> param)throws Exception;
}
